package demo2;

/**
 * 单例模式 饿汉模式
 */
public class SingletonHungry {
    /**
     * private 防止外部拿到然后对其修改
     * static 让他属于类对象，全局唯一
     * volatile 保证其可见性，以及禁止指令重排序带来的对象半初始化的问题
     * 饿汉模式直接实例化自己在，.class文件加载到JVM的时候就直接实例化
     */
    private static volatile SingletonHungry instance=new SingletonHungry();
    /**
     * 构造方法私有化
     */
    private SingletonHungry(){}
    /**
     * 对 外部提供一个静态方法让外部能够获取该对象
     */
    public static SingletonHungry getInstance(){
        return instance;
    }
}
